<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>filter</title>
    <script src="../lib/vue.js"></script>
    <script src="../lib/dayjs.min.js"></script>
</head>

<body>
    <div id="root">
        <h2>显示格式化后的时间</h2>
        <h3>时间：{{time}}</h3>
        <h3>计算属性：{{fmtTime}}</h3>
        <h3>方法：{{getFmtTime()}}</h3>
        <h3>过滤器：{{time | timeFormater}}</h3>
        <h3>过滤器：{{time | timeFormater | mySlice}}</h3>
        <h3 :x="msg | mySlice">桑硅谷</h3>
    </div>

    <div id="root2">
        <h2>{{msg | mySlice}}</h2>
    </div>

    <script>
        Vue.config.productionTip = false;
        //全局过滤器
        Vue.filter("mySlice", function (value) {
            return value.slice(0, 4);
        })

        new Vue({
            el: "#root",
            data: {
                time: 1662468237722,
                msg: "你好，傻瓜硅谷"
            },
            computed: {
                fmtTime() {
                    return dayjs(this.time).format("YYYY年MM月DD日 HH:mm:ss");
                }
            },
            methods: {
                getFmtTime() {
                    return dayjs(this.time).format("YYYY年MM月DD日 HH:mm:ss");
                }
            },
            //过滤器的本质就是一个函数
            //多个过滤器可以串联
            //现在的过滤器都是局部过滤器
            filters: {
                timeFormater(value) {
                    return dayjs(value).format("YYYY年MM月DD日 HH:mm:ss");
                }
            }
        })

        new Vue({
            el: "#root2",
            data: {
                msg: "hello,vue"
            }
        })
    </script>
</body>

</html>